在 SPSS 中创建符合 APA 格式的频数表

作者:Ruben Geert van den Berg,归属于 SPSS 表格 专题

统计学中最基础的表格可能就是简单的频数分布表了。然而,SPSS 默认生成的频数表却十分冗杂,并且不符合 APA(美国心理学会)的建议标准。

那么,如何创建更好、更快速的频数表呢?本教程将展示一个很棒的技巧!我们将使用 bank_clean.sav 数据集,其部分数据如下所示。

SPSS Bank Sav Data View

为什么 SPSS 默认频数表很糟糕

让我们仔细看看一些基本的频数表。可以通过运行以下 语法 来创建它们。

***仅在输出表格中显示值标签和变量标签。**
set
tnumbers labels
tvars labels.

***标准 SPSS 频数表。**
frequencies educ marit.

结果

SPSS Basic Frequency Table

仅仅用于检查数据,或许这还可以。但是,这些表格不适合用于报告:

  • SPSS 用户当然知道有效值 (valid) 和缺失值 (missing values) 之间的区别。但是,不使用 SPSS 的客户通常会觉得这令人困惑。
  • 总计 (Total)” 在我们的表格中出现了不少于 3 次。
  • 百分号 (%) 在百分比中缺失。
  • 我们很少需要累计频数 (cumulative frequencies),而实际上是累计_有效_频数。
  • SPSS 23 中引入的输出表格的新样式 (styling) 看起来很糟糕。

现在,样式问题很容易通过 表格外观 (tablelook) 来解决。应用它之后,我们的表格看起来好多了,如下所示。

SPSS Frequency Table Styled

不幸的是,FREQUENCIES 命令没有选项可以避免我们刚才提到的其他问题。因此,让我们尝试一些完全不同的方法。

在 MEANS 表格中显示频数

好的,这听起来可能很疯狂,但请 - 真的 - 尝试一下。首先,我们将创建一个新变量,该变量为所有个案 (cases) 保存零值。接下来,我们将为我们的常量 (constant) 运行一个最小的 MEANS 表格,并以目标变量进行分组。让我们运行以下语法,看看会发生什么。

***向数据添加新变量,所有个案的值相同。**
compute constant = 0.

***基本的 MEANS 表格,常量按 educ 和 marit 分组。**
means constant by educ marit.

结果

SPSS Basic Means Table

我们的表格看起来很愚蠢。显然,所有均值 (means) 和标准差 (standard deviations) 都是 0.000。但是,我们_确实_有干净简洁的频数,但我们没有相应的百分比。还没。

没有均值的 MEANS

现在的技巧是,MEANS 允许我们选择我们想要的列以及它们的顺序。因此,我们可以有_没有_均值或标准差的 MEANS,但_有_频数和百分比。这会生成符合 APA 推荐格式的漂亮而干净的频数表。

***设置常量的变量标签。**
variable labels constant ' **表格 ## ...** '。

***运行 MEANS 表格,但仅显示频数和百分比。**
means constant by educ marit
/cells count npct.

***可选:美化表格。**
output modify
/select tables
/table tabletitle = ' '
/tablecells select = ['% of Total N'] applyto = columnheader replace = '%'
/tablecells select = ['Total'] applyto = row style = bold.

结果

SPSS APA Frequencies Table No Missing Values

首先请注意,我们将所需表格标题的一部分设置为常量的变量标签。如果您不想要这样做,请尝试运行 variable labels constant ' '。这样做之后,标题将由单个空格组成,因此看起来根本没有标题。

另请注意,我们使用 OUTPUT MODIFY 美化了我们的表格,这需要 SPSS 22 或更高版本。为了简单起见,我们处理了输出窗口中的_所有_表格。如果您不想这样做,向 OUTPUT MODIFY 添加一行或两行会将修改限制为对表格的精确选择。

如果您使用的是 SPSS 21 或更低版本,Ctrl + H 快捷键 - 无论是在 输出窗口 中还是在导出到 WORD 之后 - 都可以帮助删除或替换文本。

包括用户缺失值

默认情况下,我们的方法仅包括有效值。但是,只需向语法添加一行,就可以轻松包含 用户缺失值

***相同的 APA 频数表,但包括用户缺失值。**
means constant by educ marit
/cells count npct
/missing include.

包括系统缺失值

很少有 SPSS 过程可以包括 系统缺失值。但是,这很容易解决:我们将使用简单的 RECODE 将它们更改为某个巨大的数字。然后,我们给它一个值标签 (value label) 并将其设置为缺失值。

快速提示:不要使用非常_小_的数字,例如 -9999。小数字通常最终会成为表格中的第一行,而不是最后一行。

***将系统缺失值重新编码为巨大的值。**
recode educ marit (sysmis = 999999999).

***添加值标签。**
add value labels educ marit 999999999 '(问题跳过)'。

***将 999999999 设置为用户缺失值。**
missing values educ marit (999999999,7).

***运行带有用户缺失值和系统缺失值的 APA 频数。**
means constant by educ marit
/cells count npct
/missing include.

结果

SPSS APA Frequency Table With User And System Missing Values

从 CTABLES 生成 APA 频数表

对我来说,像我们刚才讨论的那样创建频数表是首选选项。它快速而简单。但是,另一种方法是使用 CTABLES,但这需要自定义表格选项的许可证 (license)。

CTABLES 可以一次为一个或多个变量创建单个频数表。以下语法提供了一个最小的示例。

***多个变量的 APA 频数表。**
ctables
/table (educ + jtype) [count 'n' colpct.count '%'].

结果

SPSS APA Frequency Tables Via Ctables

以上就是关于频数表的内容。希望本教程对您有所帮助!